Text copied to clipboard!

Naslov

Text copied to clipboard!

Sistemski programer

Opis

Text copied to clipboard!
Iščemo sistemskega programerja, ki bo odgovoren za razvoj, vzdrževanje in optimizacijo nizkonivojske programske opreme, ki podpira delovanje operacijskih sistemov, gonilnikov, vdelanih rešitev, prevajalnikov, sistemskih knjižnic in drugih ključnih infrastrukturnih komponent. Ta vloga je namenjena strokovnjaku, ki razume delovanje računalniških sistemov na globoki tehnični ravni in zna povezati programsko logiko s strojno opremo, zmogljivostjo, varnostjo in zanesljivostjo. Kandidat bo sodeloval pri načrtovanju in implementaciji sistemskih rešitev, ki morajo delovati učinkovito, stabilno in varno tudi v zahtevnih produkcijskih okoljih. Uspešen kandidat bo tesno sodeloval z razvojnimi ekipami, inženirji strojne opreme, strokovnjaki za informacijsko varnost, DevOps ekipami in arhitekti sistemov. Njegovo delo bo vključevalo analizo zahtev, načrtovanje arhitekture sistemskih komponent, pisanje učinkovite in pregledne kode, odpravljanje napak na nizki ravni ter izvajanje testiranj, s katerimi se zagotavljata stabilnost in zmogljivost. Poseben poudarek bo na razumevanju upravljanja pomnilnika, procesov, niti, vhodno-izhodnih mehanizmov, prekinitvenih rutin, komunikacijskih protokolov in interakcije med jedrom sistema ter aplikativnimi plastmi. Sistemski programer bo imel pomembno vlogo pri izboljševanju obstoječih rešitev in razvoju novih funkcionalnosti. Pričakuje se sposobnost dela z jeziki, kot so C, C++ ali Rust, ter dobro poznavanje operacijskih sistemov Linux, Unix ali Windows na sistemski ravni. Zaželene so tudi izkušnje z razhroščevanjem, profiliranjem zmogljivosti, analizo izpisov pomnilnika, uporabo orodij za gradnjo in avtomatizacijo ter razumevanje konceptov večnitnosti, sinhronizacije in konkurenčnega izvajanja. Poleg tehničnega znanja je pomembna tudi sposobnost strukturiranega razmišljanja, natančnosti in odgovornega pristopa k razvoju kritičnih sistemov. Ker lahko napake v sistemski programski opremi vplivajo na celotno infrastrukturo, pričakujemo visoko stopnjo zanesljivosti, doslednosti pri dokumentiranju in pripravljenost na sodelovanje pri pregledih kode ter tehničnih razpravah. Kandidat mora biti sposoben samostojno raziskovati kompleksne težave, predlagati izboljšave in jasno komunicirati tehnične odločitve različnim deležnikom. Ta položaj je primeren za posameznika, ki ga motivirajo tehnični izzivi, optimizacija delovanja sistemov in razvoj robustnih rešitev, ki predstavljajo temelj sodobne programske infrastrukture. Če vas veseli delo blizu strojne opreme, reševanje zahtevnih sistemskih problemov in ustvarjanje zanesljive programske osnove za druge izdelke in storitve, je to odlična priložnost za nadaljnji strokovni razvoj v naprednem tehnološkem okolju.

Odgovornosti

Text copied to clipboard!
  • Razvoj in vzdrževanje sistemske programske opreme ter nizkonivojskih komponent.
  • Načrtovanje, implementacija in optimizacija gonilnikov, knjižnic in sistemskih modulov.
  • Analiza zmogljivosti, porabe pomnilnika in stabilnosti sistemskih rešitev.
  • Odpravljanje napak na ravni operacijskega sistema, procesov in niti.
  • Sodelovanje z ekipami za strojno opremo, varnost, DevOps in razvoj aplikacij.
  • Priprava tehnične dokumentacije, pregled kode in uvajanje dobrih razvojnih praks.
  • Izvajanje testiranj za zagotavljanje zanesljivosti, varnosti in učinkovitosti.
  • Podpora pri integraciji sistemskih komponent v produkcijska okolja.

Zahteve

Text copied to clipboard!
  • Izkušnje s programiranjem v jezikih C, C++ ali Rust.
  • Dobro poznavanje operacijskih sistemov Linux, Unix ali Windows na sistemski ravni.
  • Razumevanje upravljanja pomnilnika, procesov, niti in sinhronizacije.
  • Izkušnje z razhroščevanjem, profiliranjem in analizo sistemskih napak.
  • Poznavanje gradbenih orodij, skriptiranja in avtomatizacije razvojnih procesov.
  • Sposobnost pisanja učinkovite, varne in dobro dokumentirane kode.
  • Razumevanje komunikacije med programsko in strojno opremo.
  • Zaželena visokošolska izobrazba s področja računalništva, informatike ali sorodne smeri.

Možna vprašanja na razgovoru

Text copied to clipboard!
  • Kakšne izkušnje imate z razvojem sistemske programske opreme?
  • Katere programske jezike uporabljate pri nizkonivojskem razvoju?
  • Ali ste že razvijali ali vzdrževali gonilnike, jedrne module ali sistemske knjižnice?
  • Kako pristopate k odpravljanju napak, povezanih s pomnilnikom ali večnitnostjo?
  • S katerimi operacijskimi sistemi imate največ izkušenj na sistemski ravni?
  • Ali imate izkušnje z optimizacijo zmogljivosti in profiliranjem sistemov?
  • Kako dokumentirate tehnične odločitve in spremembe v kodi?
  • Kaj vas najbolj motivira pri delu sistemskega programerja?